package integracion.converters;

import integracion.converters.entidades.Log;
import integracion.converters.entidades.Resultado;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.log4j.Logger;

import portal.vo.AbstractVO;

import com.thoughtworks.xstream.XStream;

public class EnvioLogXmlConverter extends
AbstractXmlConverter<AbstractVO> {

	Logger logger = Logger.getLogger(EnvioLogXmlConverter.class);
	
	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	
	public String getXml(String message) throws ErrorEnXmlException {
		XStream xs = super.getXStreamLog();
		Log log = this.completarLog(message);
		try {
			return XML_VERSION + xs.toXML(log);
		} catch (Exception e) {
			throw new ErrorEnXmlException(e.getMessage());
		}
	}
	
	protected Log completarLog(String message){
		Log log = new Log();
		log.setFecha(format.format(new Date()));
		log.setIdModulo("10"); // nro de grupo
		log.setMensaje(message);
		
		return log;
	}
	
	public Resultado getResultado(String xml) {
		XStream xs = super.getXStreamResultado();
		
		Resultado resultado = (Resultado)xs.fromXML(xml);
		
		return resultado;
	}
}
